混合现实设计:火星计划头戴设备配套应用的设计心得
*本文由Unity Labs的布兰登·克鲁斯曼(Brandon Kruysman) ,杨英华(Yinghua Yang),凯尔·瓦伊迪安纳森(Kyle Vaidyanathan)创作。
隶属于Unity实验室ATG组的空间性设计团队目前正在为火星计划(Project MARS)[详见文末链接]开发一款头戴设备(HMD)的配套应用。火星计划及其配套应用作为Unity的扩展程序,可以帮助开发者构建混合现实与实景增强体验以及与现实世界进行的智能交互。头戴设备配套应用则将成为Unity电脑客户端与现实世界之间的桥梁。
Unity电脑客户端是火星计划的主要创作环境,其手机和头戴设备的配套应用是其移动设备端的解决方案,它们使设计和开发不再局限于鼠标和键盘。在头戴设备配套应用中,您可以从现实世界快速捕捉周围环境,然后导入到Unity电脑客户端中进行模拟、执行内容编辑、“灰盒”测试、编写条件和数据查询等操作。该款应用是基于混合现实编辑器(Editor XR)和混合现实交互工具包开发的,这两者提供了可重复使用的组件,让您轻松快速的构建交互式和沉浸式体验。
这篇文章将分享我们的设计流程的见解,旨在展示我们工作背后的想法:在数字世界与现实世界之间建立有意义的联结,帮助实现更适合实景增强(AR)的界面。
【注册参与测试】请点击「阅读原文」或扫描文末二维码。
在为传统屏幕做设计时,其实际呈现情况与设计模拟的情况紧密切合。但是,在为实景增强进行设计时,设计模拟与头戴设备实际呈现的情况往往存在明显差异,极具欺骗性。我们生活在一个无法预测的世界中,我们的虚拟空间需要适应并响应所在的现实环境。因此,在整个设计过程中,我们倾向于与现实世界以1:1的参照比例在头戴设备上直接进行3D设计 (而不是使用传统2D设计工具) 。在我们看来,只有通过这种方法才能真正了解用户的完整应用体验。
头戴设备的各种硬件约束极大的影响我们的决策过程,比如有限的视场角、近裁剪面以及亮度/对比度等。因此,迅速获得设备上真实呈现的反馈对我们来说至关重要。实景增强头戴设备有限的视场角带来了许多我们必须面对的设计挑战。例如,在火星计划中,针对环境中的特定条件进行创作时,匹配结果可能会散布在用户周围,甚至是在另一个房间中。只有身处大型空间映射里在设备上进行原型开发,我们才能了解大空间自适性的重要性,并决定提供一个“迷你世界”的功能来帮助用户看清周围的匹配情况。如果能够通过“迷你世界”来从多个角度查看环境中的所有匹配对象,我们将给您提供更好的空间感知,并降低虚实遮挡的几率。
“迷你世界”展示了周围环境的3D映射
开发者是我们进行空间计算设计的核心考虑因素,我们以人体为中心,划分出种种层次,依次探索。比如我们的衣服、物体,以及内部/外部的边界都是影响我们如何思考潜在空间格局的各种层次。这些层次转化为我们的空间感知,而空间的感知又很大程度上取决于我们与现实世界的空间比例关系。
在整个设计过程中,空间比例关系是我们经常讨论的话题。空间交互界面元素如何响应并适应用户周围的这些不同层次?执行给定的任务需要多少空间?在给定比例下适合的操纵方法是什么?头戴设备配套应用主要针对火星计划那些具备空间性并需要3D操纵或受益于现实世界上下文信息并置的功能。
距离操纵的设计模拟
无论对于屏幕还是物理对象,传统的设计工作流程都无法满足当前混合现实开发的需求。与其他数字媒体相比,混合现实要求更精确的可视化效果、更快的迭代速度以及应对不断变化的外界环境的办法。我们空间性设计团队希望通过自定义和设计自己的工作流程来填补传统流程的空白,目的是更好地了解构建混合现实体验的复杂性。下文将介绍我们尝试过的一些工作流程以及我们从中获得的经验。
为了避免疲劳,空间性设计不仅需要了解对象和空间的比例关系,还需要了解人类身体协调的比例关系。一对一的纸上原型很适合用来测试人体运动和人体工程学。
例如,我们设计并测试了一个虚拟托盘的设计方案。这个托盘会根据用户的头部倾斜运动而下降或上升。纸质模型托盘的这种物理原型悬挂在脖子上,位于下巴正下方。在正常工作期间,我们将常用工具放在托盘中,例如手机、眼镜、笔,等等。在使用纸质托盘一小时后,我们感到每次为拿工具而进行的颈部运动让人疲乏,而频繁移动手臂来取放脖子区域附近的工具也很令人劳累。因此,我们选择不继续推进这种设计方案。在进行混合现实设计时,构建快速虽粗糙的纸上原型可以节省时间并有助于进行空间方面的思考。
下巴工具托盘设计方案的模拟纸质原型
传统2D工具(例如演示文稿和动画模型)很难有效评估混合现实的用户流程。我们没有创建2D故事板,而是使用在虚拟现实中构建设计模拟。Tvori在编辑交互和设置交互动画时支持快速迭代。我们使用了时间轴功能来定格摄像机、潜在交互界面元素、虚拟对象和输入设备。
使用实景增强视场角视图在Tvori虚拟现实中构建原型的流程
使用虚拟现实,我们能够不断改变虚拟世界的比例关系。我们可以按人类比例亲身体验世界,同时又可以将场景缩小到最小以便于编辑。当我们向团队中的其他人展示流程时,他们只需戴上虚拟现实头戴设备,将比例设置为1:1,然后拖动时间轴。
为了更好地了解虚拟元素适合的规模和比例,我们引入了典型的实景增强头戴设备视场角“安全区域”,作为在虚拟现实中快速模拟实景增强的有效方法。遮挡人类视角的矩形非常实用:在空间设计师看来,这种约束不仅会影响我们的视觉体验,还会限制我们的运动(比如手势),因而会影响体验的沉浸感。
菜单主板的输入映射
在整个设计过程中,我们保存了两个活动文档,一个用于输入映射,另一个用于用户流程。用户流程文档作为真实数据来源,一直在不断更新。在这个文档中,我们确定了用户完成特定任务的方式和位置。比如,任务是在特定工作空间(即混合现实UI的各个部分)中完成还是在现实世界中完成,或者是否可以同时在这两者中完成?
我们还实施了输入映射练习,旨在深入了解应用中执行的操作及其相应的频率。这一过程可以简单描述为执行以下步骤:
列出所有已知操作,并按优先级对它们进行排列。
写下每个操作执行的频率。
确定交互的类型。
随着复杂程度增加,我们不得不提高原型保真度。通过使用“思维导图”视图,我们可以更好地了解重叠的输入以及如何进行相应的调整。对于诸如Magic LeapOne控制器之类的输入设备(其中的输入数量可能受到限制),这种了解变得越来越重要。通过要求特定操作必须具有悬停状态,我们能够分配输入,同时避免冲突。对于一般操作,我们决定使用缓冲键调用上下文菜单,并通过主屏幕点击操作来调用主菜单主板。另外,为了解决疲劳问题,我们避免了任何需要与触控板结合来按压扳机键或缓冲键的输入操作。
我们使用Unity创建了3D模型、UI设计和控制器脚本,旨在将设计快速引入到Magic Leap上。我们的目的是从交互原型的快速迭代中获得反馈,无需关注如何在流程早期编写完美的代码。除了构建自己的原型外,我们还从更广泛的混合现实社群开发的许多应用中受到了启发,我们经常参考这些应用来表达特定交互行为。
大多数交互依赖于“幻数”,例如时间、阈值和距离。构建原型后的第一步是调整这些值,使之符合我们对于交互所期望的感觉。在Unity电脑客户端中,我们可以在运行模式(Play Mode)下调整值,但我们也希望能够在运行时构建版本中调整值。为了解决这个问题,我们在应用中构建了一个可重用的简单设置菜单。任何原型脚本都可以使用一行代码来添加值的滑动条或复选框,用于调整这些幻数。
调整交互设置的“幻数“
下一步是获取反馈并进行迭代。以下是在其他人测试交互时发现的一些有用诀窍:
开始时尽量少说。如果确实有必要,您可以告诉用户他们应该尝试做什么,还可以简单解释如何操作。请记住,用户使用软件时 (进行答疑),因此您需要观察他们在受您影响的情况下如何交互。
您需要找到哪些设计致使用户困惑、烦躁亦或是惊讶,然后再询问用户他们的预期(相对于实际发生了什么)。
如果用户在解释自己的反馈时遇到困难,您可以在线映射或记录下头戴设备的镜头捕获视图,以便用户可以演示并指向虚拟对象。
虚拟对象的比例在现实世界中很难测量,并应该自适应用户的观看距离。我们不能将真实比例用作唯一参考,因为由于立体视觉和其他深度线索(例如射线的平移运动),用户只会觉得交互界面的物理尺寸比实际更大。如果用户闭上一只眼睛或在没有任何其他参考背景的情况下看交互界面,那么他们将无法分辨出它的尺寸和距离。
我们使用了由Google Daydream团队为虚拟现实设计开发的距离无关毫米系统(DMM系统)。我们的想法是按比例缩放距离和尺寸。例如,1dmm可以表示放在1米外的1*1mm按钮的尺寸,也可以表示放在3米外的3*3mm按钮的尺寸。Google使用dmm系统提供了一组建议的字体和最小的射线投射可点击区域尺寸,例如最小字体为20dmm,最小射线投射可点击区域尺寸为64dmm(包括16dmm填充尺寸)。
但是,当我们使用Magic Leap测试Google建议的尺寸时,我们觉得太大了,因此最终将尺寸又缩小了一些。这可能是因为与Daydream较大的视场角和3自由度手柄相比,Magic Leap的视场角和6自由度手柄更小。与距离成比例缩放时,交互界面将以相同的像素大小进行渲染,并覆盖相同的射线投射角度区域,但我们注意到它给人的感觉非常不同。我们很想知道其他同行是否有类似的发现。
此配套应用的空间交互界面设计的核心概念是使用光作为材质。光线和阴影的分层有助于创建更多的触觉体验,能够在实景增强头戴设备中增强用户的深度知觉。最后,只有通过其他材质和表面对光进行具象化,才能感知到光。配套应用中的所有空间交互界面元素都被视为类似于物理结构,并仔细考虑了光源与光平面之间的关系。
采用负阴影技术可以创建此效果。实景增强头戴设备使用基于混光的加法颜色空间。黑色以透明形式渲染(因为没有光线)。位于其他虚拟对象前面的黑色对象将充当遮罩。为了产生阴影视觉效果,必须用光围绕着较暗的阴影区域。人类的感知系统严重依赖于阴影提供的线索来推断3D对象的运动和深度。如果为这些设备构建的实景增强应用忽略了合并阴影,则意味着用户将丧失重要的深度线索。
提供给用户的深度线索:按钮悬停阴影(上)和带纹理的清晰度遮罩(下)
除阴影外,纹理的使用还为用户提供了线索来了解对象的比例和相对位置。色彩断层是在基于混光的头戴设备中处理颜色时的一个问题,当使用高对比度渐变效果时,经常会出现此问题。鉴于这样的限制,我们决定将纹理的使用纳入到空间交互界面元素的设计中,这不仅是为了扩展可用于渐变效果的颜色范围,也是另一种在创作过程中提高深度知觉的方法。
菜单主板(左)和上下文菜单(右)的带有图像噪声的静态阴影纹理映射
空间交互界面元素与光源之间的关系旨在突出界面的潜在行为。这些视觉(以及音频和物理)形式有助于传达可见性或向用户提供输入反馈。就像在我们日常的空间中一样,强光可以营造视觉吸引力并突出空间中的物体或特定特征。通过借鉴现实世界中的这些表现,我们在光源与空间交互界面元素之间创建了各种关系,用于模拟嵌入式和凹入式光照条件。
空间交互界面元素的输入反馈视觉/运动研究
我们一直在寻找和改善新的设计流程。希望这篇文章中分享的心得对您的空间性设计有所帮助;随时欢迎您来和我们分享自己的心得。对于开发者社区,知识共享至关重要,让我们一起探索新的方法,将不可能变为可能。
如果您有兴趣在自己的项目中使用火星计划的Magic Leap配套应用,请点击下方链接(或扫码)参加这个简单调查,帮助我们更好地了解您的需求。我们期待着您的反馈。
https://unitysoftware.co1.qualtrics.com/jfe/form/SV_85KJMYAAiShg4zb
👆长按识别二维码,注册参与测试👆
*相关链接:
火星计划(Project MARS):
https://unity.com/cn/unity/features/mars
推荐阅读
Unity Labs新一代AR/MR工具:Project MARS
使用Unity AR Foundation在增强现实中查看模型
点击「阅读原文」注册参与测试
↓↓↓